"""
1、格式化输出
    1.1 格式化符号
    1.2 f-字符串
2、转义符
    2.1 常用转义符
    2.2 反转义符
3、print的结束符
    3.1 end
    3.2 end=\t
"""

"""
***
1.1 格式化符号
    常见的格式化符号：
        %s：字符串
        %d：有符号的十进制整数
        %i：整数
        %f：浮点数
***
"""
# 示例：
name = "小花"
age = 18
weight = 48.8
student_id = 8
student_id2 = 288

# 她的名字叫小花
print("她的名字叫%s" % name)
# 她今年18
print("她今年%i" % age)
# 她的体重是48.8
print("她的体重是%f" % weight)  # 此时打印的数据是48.800000，因为Python默认的是小数点后面要跟6位
print("她的体重是%.1f" % weight)  # 修改为：输入 %.1f 是float后的小数只输出1位，%.2f的话就是输出2位小数
# 她的学号是008
print("她的学号是%d" % student_id)  # 此时打印的数据为8，但是我们要求的数据为008
print("她的学号是%03d" % student_id)  # 修改为：输入 %03d 表示输出的整数显示位数，不足位数 以0补全。
# 她妹妹的学号是288
print("他妹妹的学号是%03i" % student_id2)  # %03i 超出当前位数则原样输出（对于整数来说，%i和%d 差不多吧）
# 输出整个语句，她叫小花，今年是8，体重48.8，学号是008，她妹妹的学号是288
print("她叫%s，今年%i，体重%.2f，学号是%03d，她妹妹学号是%03d" % (
    name, age, weight, student_id, student_id2))  # 多个格式化输出参数时，使用一个%()跟括号的形式，然后将参数传入括号内即可。因为这是甲鱼的臀部--python的规定

# 拓展：计算型，她叫小花，今年18，体重48.8，但是她明年就19辣，体重46.8辣~
print("她叫%s，今年%i，体重虽然是%.1f,但是她明年就%i辣,体重%.1f~" % (name, age, weight, age + 1, weight - 2))  # 整数、浮点数类型的是可以相加减

"""
***

1.2、f 表达式
    用法：要在字符串中插入变量的值，可在前引号前加上字母f，再将要插入的变量放在花括号内。
***
"""
# 小花的第一年：她叫小花，今年18，体重48.8，学号是8
print(f"她叫{name},今年{age},体重{weight}，学号是{student_id}")  # f表达式，仅在python3.6之后的版本才会有，python3.6之前的版本使用可能会报错
# 小花的第二年：她叫小花，今年19，体重是46.8，学号是8
print(f"她叫{name},今年{age + 1},体重{weight - 2}，学号是{student_id}")  # f表达式可直接对整数、浮点数进行加减乘除，但是无法使用像上述的%03d那样的补齐数据

"""
***
2.1、转义符：顾名思义就是将字符串原本的意思给转变成新的意思，使用\+字母的方式进行使用
    常见的有转义符：
        换行符：\n   换行的作用
        制表符：\t  就是相当于加了一个tab键
***
"""
# 示例：
print("hello \nworld")  # 使用换行符\n，下方控制台打印出的数据，从wo过后就开始换到了下一行
print("hello wo\trld")  # 使用制表符\t，下方控制台打印出的数据，从wo过后就开始加入了几个空格，相当于tab键

"""
***
2.2、反转义：如果不想输出这些转义符的意思，就是想输出所输入的内容，有简单的两种办法
    1：转义符前面+\   如：\\n
    2：在字符串前面+r  如：print(r"hello \nworld")
***
"""
print("hello wo\\nrld")  # 多+一个\ ，下方控制台打印的会是原本的字符串内容了，转义符将不再转义。
print(r"hello wo\nrld")  # 在字符串的引号前，+ r，下方控制台打印的会是原本的字符串内容了，转义符将不再转义。

"""
3.1 end="" 结束符
    python中的print函数，每次输出下方控制台都会自默认动换行，end结束符就是改变这种默认的方式
    end=""，双引号中可以输入任意字符
"""

# 示例：
print("hello")
print("world")  # 与上述一行代码 默认是输出两行代码。

print("hello", end="")  # 加上了结束符end=""，与下一行的代码就会输出到同一行了。
print("world")

print("hello", end=" -->  ")  # 双引号中可以输入任意的字符、包括空格，都会展示出来
print("world")

"""
3.1 end="\t" 结束符+制表符
"""
# 示例：
print("hello", end="\t")  # 加上了结束符和制表符 end="\t"，与下一行的代码就会以空格的形式输出到同一行。
print("world")
print("qq", "aa", "zxc")
